package org.groupg.project.demo;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Employee {
    private String employeeCode;
    private FullName fullName;
    private LocalDate employmentDate;
    private String secretToken;
    private Department department;
    private List<Skill> skills = new ArrayList<>();
    private Map<String, Object> metadata = new HashMap<>();
    private double salary;

    public Employee() {}

    public Employee(String employeeCode, double salary) {
        this.employeeCode = employeeCode;
        this.salary = salary;
    }

    public String getEmployeeCode() { return employeeCode; }
    public void setEmployeeCode(String employeeCode) { this.employeeCode = employeeCode; }
    public FullName getFullName() { return fullName; }
    public void setFullName(FullName fullName) { this.fullName = fullName; }
    public LocalDate getEmploymentDate() { return employmentDate; }
    public void setEmploymentDate(LocalDate employmentDate) { this.employmentDate = employmentDate; }
    public String getSecretToken() { return secretToken; }
    public void setSecretToken(String secretToken) { this.secretToken = secretToken; }
    public Department getDepartment() { return department; }
    public void setDepartment(Department department) { this.department = department; }
    public List<Skill> getSkills() { return skills; }
    public void setSkills(List<Skill> skills) { this.skills = skills; }
    public void addSkill(Skill skill) { skills.add(skill); }
    public Map<String, Object> getMetadata() { return metadata; }
    public void addMetadata(String key, Object value) { metadata.put(key, value); }
    public double getSalary() { return salary; }
    public void setSalary(double salary) { this.salary = salary; }
}